home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 November / EnigmA AMIGA RUN 02 (1995)(G.R. Edizioni)(IT)[!][issue 1995-11][Skylink CD].iso / earcd / program / amos / examples.lha / Salim_Amos_Sources / Cube-Intro.Amos / Cube-Intro.amosSourceCode < prev    next >
AMOS Source Code  |  1995-08-30  |  4KB  |  191 lines

  1. '
  2. ' Ball Intro 
  3. '
  4. ' (c) Gasmi Salim
  5. '
  6.  
  7. Global T$
  8. T$=""
  9. A#=0.0
  10. '
  11. '
  12. '
  13. PLASCUB
  14. '
  15. '
  16. Procedure PLASCUB
  17.    Data $DD0,$990,$660
  18.    Data $4B3,$483,$453
  19.    Data $FF,$CC,$99
  20.    Data $CCF,$99F,$66F
  21.    Data $AAA,$777,$444
  22.    Data $7CE,$8C,$48
  23.    FD=$333
  24.    Dim BP(2)
  25.    Dim P(7,3)
  26.    NN=6 : Rem Maximum a 7  
  27.    Dim SAV(NN,100)
  28.    TE=384+32+32+32+32-1
  29.    '
  30.    '
  31.    '
  32.    For I=1 To NN
  33.       Screen Open I,2*TE,32,4,0
  34.       Screen Hide I
  35.       Screen Offset I,0,0
  36.       XH=X Hard(450)
  37.       Screen Display I,,40+32*I,,
  38.       ADR=Screen Base
  39.       For J=ADR To ADR+68 Step 4
  40.          SAV(I,J-ADR)=Leek(J)
  41.       Next 
  42.       Cls 0
  43.       Read P(I,1),P(I,2),P(I,3)
  44.    Next 
  45.    '
  46.    '
  47.    '
  48.    '
  49.    '
  50.    '
  51.    Screen Open 0,2*TE,32,4,0
  52.    Colour Back FD
  53.    No Icon Mask 
  54.    Flash Off 
  55.    Hide On 
  56.    Screen Hide 0
  57.    Screen Display 0,,40,,
  58.    Screen Offset 0,0,0
  59.    PX=0
  60.    For JJ=0 To 1
  61.       BP(JJ)=Logbase(JJ)
  62.    Next JJ
  63.    '
  64.    'on detourne 
  65.    '
  66.    For S=1 To NN
  67.       Screen S
  68.       ADR=Screen Base
  69.       Loke ADR,BP(0)
  70.       Loke ADR+4,BP(1)
  71.       Loke ADR+24,BP(0)
  72.       Loke ADR+28,BP(1)
  73.       Loke ADR+48,BP(0)
  74.       Loke ADR+52,BP(1)
  75.       Flash Off 
  76.       Palette FD,P(S,1),P(S,2),P(S,3)
  77.    Next S
  78.    '
  79.    '
  80.    Degree 
  81.    Screen 0
  82.    NO=1
  83.    Dim S#(360)
  84.    For I=0 To 360
  85.       S#(I)=Sin(I)*31+60
  86.    Next 
  87.    Palette FD,$FDD,$FAA,$F77
  88.    XI=16
  89.    POS=0
  90.    '------------------------------------------------------- 
  91.    FONTE$=" !/    '() +,-. 0123456789:; = ? abcdefghijklmnopqrstuvwxyz "
  92.    SETBIG
  93.    LLL=Len(T$)
  94.    LF=Len(FONTE$)
  95.    Gosub CODETEXT
  96.    ST=Start(10)
  97.    TV=14*32
  98.    Screen Open 7,2*TV,32,16,0
  99.    Flash Off 
  100.    No Icon Mask 
  101.    Palette FD,$FFF,$CEF,$9DE,$7CE,$5BE,$2AD,$9D,$8C,$7B,$6A,$59,$48,$37,$26,$15
  102.    Screen Offset 7,0,0
  103.    XXH=X Hard(350)
  104.    PXX=0
  105.    Screen Display 7,,270,,
  106.    Curs Off 
  107.    Cls 0
  108.    Screen 0
  109.    Timer=0 : FFF=1
  110.    Do 
  111.       If Timer>130 Then Gosub SCRO Else Gosub AG
  112.       MOUSE
  113.       If Param=0 Then Goto FIN
  114.       If Timer>130 and(FFF=1)
  115.          For I=0 To NN : Screen Show I : Next 
  116.          FFF=0
  117.          Track Play 3
  118.          Track Loop On 
  119.       End If 
  120.    Loop 
  121.    '----------------------------- 
  122.    SCRO:
  123.    Add POSII,1,1 To LLL
  124.    K=Peek(ST+POSII)+328
  125.    If LETT>13 Then PXX=0 : LETT=0 : Screen Offset 7,0,
  126.    Screen 7
  127.    Paste Icon XXH+32*LETT,0,K
  128.    Paste Icon XXH-TV+32*LETT,0,K
  129.    For JJJ=1 To 32 Step 4
  130.       Screen Offset 7,PXX+JJJ,
  131.       Gosub AG
  132.       Wait Vbl 
  133.    Next JJJ
  134.    PXX=PXX+32
  135.    Inc LETT
  136.    Return 
  137.    '------------------------- 
  138.    CODETEXT:
  139.    If Length(10)<>0 Then Erase 10
  140.    Reserve As Data 10,LLL+10
  141.    ST=Start(10)
  142.    For I=1 To LLL
  143.       K=Instr(FONTE$,Mid$(T$,I,1))
  144.       Poke ST+I,K
  145.    Next 
  146.    Return 
  147.    '----------------------------- 
  148.    AG:
  149.    Screen 0
  150.    Inc XI
  151.    If XI=32 Then XI=17
  152.    Add IC,1,1 To 328
  153.    If LET>15 Then PX=0 : LET=0
  154.    Paste Icon XH+32*LET,0,IC
  155.    Paste Icon XH-TE+32*LET,0,IC
  156.    For J=0 To NN
  157.       AA=AL+J*45
  158.       AA=AA mod 360
  159.       Screen Offset J,PX+J*8+S#(AA),
  160.    Next J
  161.    Add AL,5
  162.    PX=PX+32
  163.    Inc LET
  164.    Return 
  165.    '--------------------------------
  166.    FIN:
  167.    For J=0 To NN
  168.       Screen Hide J
  169.    Next 
  170.    For I=1 To NN
  171.       Screen I
  172.       ADR=Screen Base
  173.       For J=0 To 68 Step 4
  174.          Loke ADR+J,SAV(I,J)
  175.       Next 
  176.       Screen Close I
  177.    Next 
  178.    Screen Close 0
  179.    Screen Close 7
  180.    If Errn<>0 Then Error Errn
  181.    Pop Proc
  182. End Proc
  183. Procedure SETBIG
  184.    T$="this is a nice effect eh ???? i really like it yooooohooooo !!!"
  185.    T$=T$+"hope this source will help you !!!!      salim ........"
  186. End Proc
  187. Procedure MOUSE
  188. K=Peek($BFE001)
  189. B=Btst(6,K)
  190. End Proc[B]
  191. '